/*
 * tsymbol.h
 *
 *  Created on: Jan 10, 2016
 *      Author: root
 */

#ifndef TSYMBOL_H_
#define TSYMBOL_H_

#include "../basic/ds.h"

#define SYMBOL_LAMBDA    "lambda"
#define SYMBOL_QUOTE     "quote"
#define SYMBOL_THIS      "*this*"

Cell *cell_symbol_lambda;
Cell *cell_symbol_quote;
Cell *cell_symbol_this;
Cell *cell_symbol_feed_to;

DEFINE_OPERATOR( make_symbol       );
DEFINE_OPERATOR( symbol_to_string  );
DEFINE_OPERATOR( defp  );
INIT_OPERATORS( symbol );

Cell* make_symbol(Scheme *sc, const char *name);
char *symbol_name(Cell* sym);

#endif /* TSYMBOL_H_ */
